<?php

namespace Agp\CoreBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Chamada
 *
 * @ORM\Table(name="chamada")
 * @ORM\Entity(repositoryClass="Agp\CoreBundle\Repository\ChamadaRepository")
 */
class Chamada
{
    /**
     * @var integer
     *
     * @ORM\Column(name="cod_chamada", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $codChamada;

    /**
     * @var \stdClass
     *
     *
     * @ORM\ManyToOne( targetEntity="Terminal" )
     * @ORM\JoinColumn(name="cod_terminal", referencedColumnName="cod_terminal")
     * 
     */
    private $terminal;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="dt_chamada", type="datetime")
     */
    private $dtChamada;

    /**
     * @var integer
     *
     * @ORM\Column(name="acao", type="integer", nullable=true)
     */
    private $acao;

    const UP_EVENTO = '90'; 
    const UP_PRODUTO = '80'; 
    const UP_LISTA = '70'; 
    const UP_SETOR = '75'; 
    const UP_COMISSIONADO = '65'; 
    const UP_ATENDENTE = '60'; 
    const UP_LAYOUT = '50'; 
    const UP_USUARIO = '40';
    const MSG_GET_TESTE = '0'; 
    const MSG_GET_ZIP = '1'; 
    const MSG_GET_LIBERACAO = '2'; 
    const MSG_SET_VENDA = '3'; 
    const MSG_GET_PRODUTO = '4'; 
    const MSG_GET_ATENDENTE = '5'; 
    const MSG_GET_PERMISSAO = '6'; 
    const MSG_SET_FECHAMENTO = '7'; 
    const MSG_GET_RELATORIO = '8'; 
    const MSG_SET_TRASACAO_CARTAO = '9'; 
    const MSG_GET_VENDA_ONLINE = '10'; 
    const MSG_SET_VENDA_CONECTADA = '11'; 
    const MSG_GET_ATT = '997'; 
    const MSG_GET_APP = '998'; 
    const MSG_GET_APP_INFO= '999';

    /**
     * @var string
     *
     * @ORM\Column(name="recv_txt", type="text")
     */
    private $recvTxt;

    /**
     * @var string
     *
     * @ORM\Column(name="send_txt", type="text")
     */
    private $sendTxt;

    /**
     * @var integer
     *
     * @ORM\Column(name="recv_content_length", type="integer")
     */
    private $recvConte;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getCodChamada()
    {
        return $this->codChamada;
    }

    /**
     * Set terminal
     *
     * @param \stdClass $terminal
     * @return Chamada
     */
    public function setTerminal($terminal)
    {
        $this->terminal = $terminal;

        return $this;
    }

    /**
     * Get terminal
     *
     * @return \stdClass 
     */
    public function getTerminal()
    {
        return $this->terminal;
    }

    /**
     * Set dtChamada
     *
     * @param \DateTime $dtChamada
     * @return Chamada
     */
    public function setDtChamada($dtChamada)
    {
        $this->dtChamada = $dtChamada;

        return $this;
    }
    
   
    /**
     * Get dtChamada
     *
     * @return \DateTime 
     */
    public function getDtChamada()
    {
        return $this->dtChamada;
    }

    /**
     * Set acao
     *
     * @param integer $acao
     * @return Chamada
     */
    public function setAcao($acao)
    {
        $this->acao = $acao;

        return $this;
    }

    /**
     * Get acao
     *
     * @return integer 
     */
    public function getAcao()
    {
        return $this->acao;
    }

    /**
     * Set recvTxt
     *
     * @param string $recvTxt
     * @return Chamada
     */
    public function setRecvTxt($recvTxt)
    {
        $this->recvTxt = $recvTxt;

        return $this;
    }

    /**
     * Get recvTxt
     *
     * @return string 
     */
    public function getRecvTxt()
    {
        return $this->recvTxt;
    }

    /**
     * Set sendTxt
     *
     * @param string $sendTxt
     * @return Chamada
     */
    public function setSendTxt($sendTxt)
    {
        $this->sendTxt = $sendTxt;

        return $this;
    }

    /**
     * Get sendTxt
     *
     * @return string 
     */
    public function getSendTxt()
    {
        return $this->sendTxt;
    }

    /**
     * Set recvConte
     *
     * @param integer $recvConte
     * @return Chamada
     */
    public function setRecvConte($recvConte)
    {
        $this->recvConte = $recvConte;

        return $this;
    }

    /**
     * Get recvConte
     *
     * @return integer 
     */
    public function getRecvConte()
    {
        return $this->recvConte;
    }


    public function getAcaoLabel( ){

        switch ( $this->acao ) {

            case self::MSG_GET_TESTE: 
                return 'TESTE';
            break;
            case self::MSG_GET_ZIP: 
                return 'ZIP';
            break;
            case self::MSG_GET_LIBERACAO: 
                return 'LIBERAÇÃO';
            break;
            case self::MSG_SET_VENDA: 
                return 'VENDA';
            break;
            case self::MSG_GET_PRODUTO: 
                return 'PRODUTO';
            break;
            case self::MSG_GET_ATENDENTE: 
                return 'ATENDENTE';
            break;
            case self::MSG_GET_PERMISSAO: 
                return 'PERMISSÃO';
            break;
            case self::MSG_SET_FECHAMENTO: 
                return 'FECHAMENTO';
            break;
            case self::MSG_GET_RELATORIO: 
                return 'RELATÓRIO';
            break;
            case self::MSG_SET_TRASACAO_CARTAO: 
                return 'TRANSAÇÃO CARTÃO';
            break;
            case self::MSG_GET_VENDA_ONLINE: 
                return 'VENDA ONLINE';
            break;
            case self::MSG_SET_VENDA_CONECTADA: 
                return 'VENDA CONECTADA';
            break;
            case self::MSG_GET_ATT: 
                return 'ATT';
            break;
            case self::MSG_GET_APP: 
                return 'APP';
            break;
            case self::MSG_GET_APP_INFO: 
                return 'APP_INFO';
            break;

        }

    }

}
